home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
051-060
/
amok52
/
gadgeted
/
txt
/
menu.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
17KB
|
766 lines
(*----------------------------------------------------------------------
:Program. Menu.mod
:Contents. Aufbau des Menus, Prozeduren zum Ein-/Ausschalten des Menüs
:Author. Hubert Bildstein
:Copyright. Public Domain
:Language. Modula-2
:Translator. M2Amiga V3.3d
:History. V1.0 5.12.1990
:Remark. Grundstruktur erstellt mit Menugenerator Amok#37
----------------------------------------------------------------------*)
IMPLEMENTATION MODULE Menu;
FROM SYSTEM IMPORT ADR, ADDRESS, LONGSET;
FROM Intuition IMPORT MenuItem,Menu,MenuItemFlags,MenuItemFlagSet,
SetMenuStrip, ClearMenuStrip, WindowPtr, IntuiText;
FROM Graphics IMPORT jam1;
VAR MenuWindowPtr : WindowPtr;
Menustrip : ARRAY[1..4] OF Menu;
Item : ARRAY[1..33] OF MenuItem;
ItemText : ARRAY[1..33] OF IntuiText;
ok : BOOLEAN;
PROCEDURE InitMenu (WPtr : ADDRESS);
BEGIN
WITH Menustrip[1] DO
nextMenu:=ADR(Menustrip[2]);
leftEdge:=0; topEdge:=0;
width:=68; height:=9;
flags:={0};
menuName:=ADR('Project');
firstItem:=ADR(Item[1]);
END (* WITH *);
WITH Menustrip[2] DO
nextMenu:=ADR(Menustrip[3]);
leftEdge:=108; topEdge:=0;
width:=44; height:=9;
flags:={0};
menuName:=ADR('Edit');
firstItem:=ADR(Item[9]);
END (* WITH *);
WITH Menustrip[3] DO
nextMenu:=ADR(Menustrip[4]);
leftEdge:=192; topEdge:=0;
width:=68; height:=9;
flags:={0};
menuName:=ADR('Gadgets');
firstItem:=ADR(Item[13]);
END (* WITH *);
WITH Menustrip[4] DO
nextMenu:=NIL;
leftEdge:=300; topEdge:=0;
width:=92; height:=9;
flags:={0};
menuName:=ADR('Attributes');
firstItem:=ADR(Item[23]);
END (* WITH *);
WITH Item[1] DO
nextItem:=ADR(Item[2]);
leftEdge:=0; topEdge:=0;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[1]);
selectFill:=NIL;
command:="L";
subItem:=NIL;
END (* WITH *);
WITH Item[2] DO
nextItem:=ADR(Item[3]);
leftEdge:=0; topEdge:=10;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[2]);
selectFill:=NIL;
command:="S";
subItem:=NIL;
END (* WITH *);
WITH Item[3] DO
nextItem:=ADR(Item[4]);
leftEdge:=0; topEdge:=20;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[3]);
selectFill:=NIL;
command:="A";
subItem:=NIL;
END (* WITH *);
WITH Item[4] DO
nextItem:=ADR(Item[5]);
leftEdge:=0; topEdge:=30;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[4]);
selectFill:=NIL;
command:="N";
subItem:=NIL;
END (* WITH *);
WITH Item[5] DO
nextItem:=ADR(Item[6]);
leftEdge:=0; topEdge:=40;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[5]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[6] DO
nextItem:=ADR(Item[7]);
leftEdge:=0; topEdge:=50;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[6]);
selectFill:=NIL;
command:="M";
subItem:=NIL;
END (* WITH *);
WITH Item[7] DO
nextItem:=ADR(Item[8]);
leftEdge:=0; topEdge:=60;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[7]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[8] DO
nextItem:=NIL;
leftEdge:=0; topEdge:=70;
width:=130; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[8]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[9] DO
nextItem:=ADR(Item[10]);
leftEdge:=0; topEdge:=0;
width:=104; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[9]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[10] DO
nextItem:=ADR(Item[11]);
leftEdge:=0; topEdge:=10;
width:=104; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[10]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[11] DO
nextItem:=ADR(Item[12]);
leftEdge:=0; topEdge:=20;
width:=104; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[11]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[12] DO
nextItem:=NIL;
leftEdge:=0; topEdge:=30;
width:=104; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[12]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[13] DO
nextItem:=ADR(Item[16]);
leftEdge:=0; topEdge:=0;
width:=115; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[13]);
selectFill:=NIL;
subItem:=ADR(Item[14]);
END (* WITH *);
WITH Item[14] DO
nextItem:=ADR(Item[15]);
leftEdge:=114; topEdge:=-2;
width:=141; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[14]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[15] DO
nextItem:=NIL;
leftEdge:=114; topEdge:=8;
width:=141; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[15]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[16] DO
nextItem:=ADR(Item[19]);
leftEdge:=0; topEdge:=10;
width:=115; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[16]);
selectFill:=NIL;
subItem:=ADR(Item[17]);
END (* WITH *);
WITH Item[17] DO
nextItem:=ADR(Item[18]);
leftEdge:=114; topEdge:=-4;
width:=127; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[17]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[18] DO
nextItem:=NIL;
leftEdge:=114; topEdge:=6;
width:=127; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[18]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[19] DO
nextItem:=NIL;
leftEdge:=0; topEdge:=20;
width:=115; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[19]);
selectFill:=NIL;
subItem:=ADR(Item[20]);
END (* WITH *);
WITH Item[20] DO
nextItem:=ADR(Item[21]);
leftEdge:=114; topEdge:=-6;
width:=126; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[20]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[21] DO
nextItem:=ADR(Item[22]);
leftEdge:=114; topEdge:=4;
width:=126; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[21]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[22] DO
nextItem:=NIL;
leftEdge:=114; topEdge:=14;
width:=126; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[22]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[23] DO
nextItem:=ADR(Item[24]);
leftEdge:=0; topEdge:=0;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[23]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[24] DO
nextItem:=ADR(Item[25]);
leftEdge:=0; topEdge:=10;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[24]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[25] DO
nextItem:=ADR(Item[26]);
leftEdge:=0; topEdge:=20;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,checkIt,commSeq};
mutualExclude:=LONGSET{3,4};
itemFill:=ADR(ItemText[25]);
selectFill:=NIL;
command:="O";
subItem:=NIL;
END (* WITH *);
WITH Item[26] DO
nextItem:=ADR(Item[27]);
leftEdge:=0; topEdge:=30;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,checkIt,checked,commSeq};
mutualExclude:=LONGSET{2,4};
itemFill:=ADR(ItemText[26]);
selectFill:=NIL;
command:="I";
subItem:=NIL;
END (* WITH *);
WITH Item[27] DO
nextItem:=ADR(Item[28]);
leftEdge:=0; topEdge:=40;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,checkIt,commSeq};
mutualExclude:=LONGSET{2,3};
itemFill:=ADR(ItemText[27]);
selectFill:=NIL;
command:="D";
subItem:=NIL;
END (* WITH *);
WITH Item[28] DO
nextItem:=ADR(Item[29]);
leftEdge:=0; topEdge:=50;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[28]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[29] DO
nextItem:=ADR(Item[30]);
leftEdge:=0; topEdge:=60;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,checkIt,checked,commSeq};
mutualExclude:=LONGSET{7,8};
itemFill:=ADR(ItemText[29]);
selectFill:=NIL;
command:="E";
subItem:=NIL;
END (* WITH *);
WITH Item[30] DO
nextItem:=ADR(Item[31]);
leftEdge:=0; topEdge:=70;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,checkIt,commSeq};
mutualExclude:=LONGSET{6,8};
itemFill:=ADR(ItemText[30]);
selectFill:=NIL;
command:="C";
subItem:=NIL;
END (* WITH *);
WITH Item[31] DO
nextItem:=ADR(Item[32]);
leftEdge:=0; topEdge:=80;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled,checkIt,commSeq};
mutualExclude:=LONGSET{6,7};
itemFill:=ADR(ItemText[31]);
selectFill:=NIL;
command:="R";
subItem:=NIL;
END (* WITH *);
WITH Item[32] DO
nextItem:=ADR(Item[33]);
leftEdge:=0; topEdge:=90;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[32]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH Item[33] DO
nextItem:=NIL;
leftEdge:=0; topEdge:=100;
width:=179; height:=9;
flags:=MenuItemFlagSet{highComp,itemText,itemEnabled};
mutualExclude:=LONGSET{};
itemFill:=ADR(ItemText[33]);
selectFill:=NIL;
subItem:=NIL;
END (* WITH *);
WITH ItemText[1] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Load');
END (* WITH *);
WITH ItemText[2] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Save');
END (* WITH *);
WITH ItemText[3] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Save As');
END (* WITH *);
WITH ItemText[4] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('New');
END (* WITH *);
WITH ItemText[5] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('--------------');
END (* WITH *);
WITH ItemText[6] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('MakeModule');
END (* WITH *);
WITH ItemText[7] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('--------------');
END (* WITH *);
WITH ItemText[8] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('QUIT ESC');
END (* WITH *);
WITH ItemText[9] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Delete F1');
END (* WITH *);
WITH ItemText[10] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Move F2');
END (* WITH *);
WITH ItemText[11] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Copy F3');
END (* WITH *);
WITH ItemText[12] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Size F4');
END (* WITH *);
WITH ItemText[13] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Boolean');
END (* WITH *);
WITH ItemText[14] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Normal B');
END (* WITH *);
WITH ItemText[15] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('ToggleSelect T');
END (* WITH *);
WITH ItemText[16] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('String');
END (* WITH *);
WITH ItemText[17] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Normal S');
END (* WITH *);
WITH ItemText[18] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Integer I');
END (* WITH *);
WITH ItemText[19] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Proportional');
END (* WITH *);
WITH ItemText[20] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Horiz X');
END (* WITH *);
WITH ItemText[21] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Vert Y');
END (* WITH *);
WITH ItemText[22] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Both Z');
END (* WITH *);
WITH ItemText[23] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Text F9');
END (* WITH *);
WITH ItemText[24] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('-----------------');
END (* WITH *);
WITH ItemText[25] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR(' No Border');
END (* WITH *);
WITH ItemText[26] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR(' Single Border');
END (* WITH *);
WITH ItemText[27] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR(' Double Border');
END (* WITH *);
WITH ItemText[28] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('-----------------');
END (* WITH *);
WITH ItemText[29] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR(' String Left');
END (* WITH *);
WITH ItemText[30] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR(' String Center');
END (* WITH *);
WITH ItemText[31] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR(' String Right');
END (* WITH *);
WITH ItemText[32] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('-----------------');
END (* WITH *);
WITH ItemText[33] DO
nextText:=NIL;
frontPen:=0; backPen:=0;
drawMode:=jam1;
leftEdge:=0; topEdge:=0;
iTextFont:=NIL;
iText:=ADR('Change Attributes F10');
END (* WITH *);
MenuWindowPtr := WPtr;
ok:=SetMenuStrip(MenuWindowPtr,ADR(Menustrip[1]) );
END InitMenu;
(*--------------------------------------------------------------------------*)
PROCEDURE SetMenu (WPtr : ADDRESS);
(* Menu einschalten *)
VAR w : WindowPtr;
ok : BOOLEAN;
BEGIN
w := WPtr;
ok:=SetMenuStrip(w,ADR(Menustrip[1]));
END SetMenu;
(*--------------------------------------------------------------------------*)
PROCEDURE ClearMenu (WPtr : ADDRESS);
(* Menu ausschalten *)
VAR w : WindowPtr;
BEGIN
w := WPtr;
ClearMenuStrip(w);
END ClearMenu;
END Menu.